#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Fint
{
  int x;
  struct Fint *next;
}fint;

int main()
{
  fint *h,*p,*q,*r;
  int n,m,j,num=0;
  h = (fint *)malloc(sizeof(fint));//头指针
  h->next=NULL;
  do{
        scanf("%d",&n);
        if(n<0)
        break;

        p=(fint *)malloc(sizeof(fint));
        p->x=n;
        p->next=h->next;//保留原有关系
        h->next=p;//在头指针后插入新结点
        num++;//节点数量

  }while(n>=0);
  scanf("%d",&m);//m为待删除节点的位置
  if(m<0)
    m=num+1+m;//处理负数位置为正数位置
  q=h;//q为删除结点的前驱
  r=h->next;//r为待删除节点；
  j=1;
  if(m>num)
  {
      printf("Node not found!\n");
  }
  else
  while (q->next != NULL)
  {
      if(j==m)//j=要删除的结点的位置时开始删除
      {
          q->next=r->next;
          free(r);
          break;
      }
      else
      {
      q=q->next;
      r=r->next;
      j++;
      }
  }
  p=h->next;
  while(p!=NULL)//输出数据
  {
      printf("%d ",p->x);
      p=p->next;
  }
  printf("\n");
  return 0;


}
